package com.hq.fxh.No3_TuiGuang.MyMoBan;

import android.content.Context;
import android.support.annotation.LayoutRes;
import android.view.View;

/**
 * @author 大圣
 * @ClassName IAdapterItem
 * @Description :  adapter的所有item必须实现此接口.
 * 通过返回{@link #getLayoutResId()}来自动初始化view，之后在{@link #onBindViews(View)}中就可以初始化item的内部视图了。<br>
 * @Created 2015/10/28 0028
 */
public interface IAdapterItem<T> {
    /**
     * @return item布局文件的layoutId
     */
    @LayoutRes
    int getLayoutResId();

    /**
     * 初始化views
     */
    void onBindViews(final View root);

    /**
     * 设置view的参数
     */
    void onSetViews(Context context);

    /**
     * 根据数据来设置item的内部views
     *
     * @param model    数据list内部的model
     * @param position 当前adapter调用item的位置
     */
    void onUpdateViews(Context context, T model, int position);


}
